/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.nus.application.ejb.user;

import com.nus.dataaccess.dao.user.UserAccount;
import com.nus.dataaccess.dao.user.UserInfo;
import java.util.List;
import java.util.Map;
import javax.ejb.Local;

/**
 *
 * @author robin.foe
 */
@Local
public interface UserEjbLocal {

    public String getTestString();
    
    public List<UserInfo> listAllUser();

    public UserAccount retrieveUserByUsername(String userName);

    public UserAccount retrieveUserById(Long userId);
    
    public UserAccount doLogin(String username, String password);

//    public UserAccount validateUser(String userName, String password) throws BusinessLogicException;

    public UserInfo retrieveUserInfoById(Long userInfoId);

    public void persistUser(UserInfo userInfo);

    public List<UserInfo> paginateUserInfo(int first, int pageSize, String sortField, boolean ascending, Map<String, String> filters);

    public int countPaginateUserInfo(Map<String, String> filters);

    public void deleteUser(UserInfo userInfo);

    public void changeTheme(String userName, String theme);
}
